Interfaces

Main Interfaces

The following are the main interfaces you use when developing a client application that communicates with TerraExplorer Plus or TerraExplorer Pro. There are additional interfaces that the following interfaces are derived from. For further information on all derived interfaces, read each interface section. Older versions of some interfaces are also exposed by TerraExplorer. It is highly advised to always use the latest available interface version. For older interface help topics see the documentation for the respective version.

The ISGWorld Interface

ISGWorld in the main entry point to most TerraExplorer interfaces. Through this interface you can manage your application and 3D content and handle events.

The interfaces listed below are the main properties of the ISGWorld interface. SeeISGWorld” for a full list of all ISGWorld properties, methods and events.

§  IProject (.Project) – Open the project, manage its properties and save the project.

§  INavigate (.Navigate) – Navigate in the 3D World by setting the camera position and produce complex movements such as FlyTo and ZoomIn and ZoomOut.

§  IProjectTree (.ProjectTree) - Provides complete access to the TerraExplorer Project Tree. It allows the creation of groups and queries on objects in the Tree.  

§  ICreator (.Creator) – Create and delete all layers, objects, positions, geometry, colors, and presentations.

§  IAnalysis (.Analysis) – Perform terrain analysis operations

§  ITerrain (.Terrain) – Exposes information, such as the MPT file name that is being used, and additional information about the MPT coordinate system, and height information.

§  IWindow (.Window) – Allow the user to query the 3D World according to points on the screen, create and manage popup windows, create snapshots and manage user interface elements such as on screen layers and controls.  

§  ICommand (.Command) – Enable activation of TerraExplorer user interface operations such as turning on and off the underground mode or start manual object editing.

§  ICoordServices (.CoordServices) – Coordinate system related features. It allows you to define a coordinate system for your input coordinates, and have TerraExplorer convert them to the coordinate system of the current terrain database.

§  ISGServer (.SGServer) – Connect and disconnect from a SkylineGlobe Server and return information about the currently connected server.

§  Events Listen to TerraExplorer events using the AttachEvent method.

Note:     The current set of interfaces is supported by TerraExplorer v8.1. When working with older versions of TerraExplorer, refer to the relevant Programmers Guide.

The ICreator Interface

The ICreator interface is the main factory for objects, layers and geometry. 

§  Feature Layers – Load feature layers and create new ones.  

§  Raster Layers – Load imagery and elevation raster layers.

§  Mesh Layers –Load from a file or from SGS unified, stream optimized 3D Mesh Layer (3DML) databases.

§  Presentations – Create new presentations.

§  Locations – Create position object and locations.

§  2D Objects –Set of interfaces that handle text and image labels and 2D primitives (Text label, Image label, Polyline, Polygon, Rectangle, Regular Polygon, 2D Arrow, Circle, Ellipse, Arc and VideoOnTerrain).

§  3D Objects –Set of interfaces that handle 3D models and primitives (3D Model, Point Cloud Model, Building, 3D Polygon, Box, Cylinder, Sphere, Cone, Pyramid and 3D Arrow).

§  Messages –Interfaces to add a message that can be associated to other objects, and a Project Tree message.

The IAnalysis Interface

The IAnalysis interface is the factory for all terrain analysis objects. 

§  Line of sight analysis

§  Viewshed analysis

§  3D viewshed analysis

§  Viewshed visibility query

§  Threat dome

§  Contour map

§  Slope map

§  Terrain area

§  Terrain perimeter

§  Terrain surface area

§  Terrain surface perimeter

§  Shadow visibility query

§  Flood analysis

§  Volume analysis

§  Terrain profile

TerraExplorer Viewer Interfaces

The TerraExplorer Viewer supports a subset of the interfaces presented in this guide.

The following interfaces are supported:

IProject

Available except for Project Setting method

INavigate

Available

IProjectTree

Available

ICreator

CreatePosition, CreatePopupMessage

IAnalysis

Available

IWindow

Available

ICommand

Only commands that start operations available in the TerraExplorer Viewer User Interface

ICoordServices

Available

Events

Available

 

The available API interfaces for TerraExplorer Viewer provide similar capabilities as available in the TerraExplorer Viewer standard user interfaces, e.g., an interface for creating a 3D Polygon is not available, since you cannot create a 3D polygon using the TerraExplorer Viewer user interface. Creating polylines, polygons and labels are not available through the API although they are available through the user interface.